﻿using SK3000RunningTestTool.SKServerDelegate;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SK3000RunningTestTool.SKService
{
    public interface ISKService : ISKServiceStruct
    {


        SKServer Server
        {
            get;
            set;
        }
        


        new string ServiceName
        {
            get;
            set;
        }


        /// <summary>
        /// 服务地址
        /// </summary>
        new string ServiceAddress
        {
            get;
            set;
        }

        /// <summary>
        /// 服务端口
        /// </summary>
        new ushort ServicePort
        {
            get;
            set;
        }

        /// <summary>
        /// 标签
        /// </summary>
        new object Tag
        {
            get;
            set;
        }
        /// <summary>
        /// 服务测试
        /// </summary>
        /// <returns></returns>
        ServiceTestCompleteValue ServiceTest();

        /// <summary>
        /// 服务测试_异步
        /// </summary>
        /// <param name="callback"></param>
        /// <returns></returns>
        void ServiceTestAsync(ServiceTestCompleteDelegate callback);

        /// <summary>
        /// 服务测试进度进度
        /// </summary>
        event ServiceTestProgressDelegate ServiceTestProgressEvent;

        /// <summary>
        /// 服务测试回调
        /// </summary>
        event ServiceTestCallbackDelegate ServiceTestCallbackEvent;


    }
}
